home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
language
/
sozobon1.zoo
/
include
/
stdio.h
< prev
next >
Wrap
C/C++ Source or Header
|
1990-11-16
|
4KB
|
126 lines
/*
*
* STDIO.H Standard i/o include file
*
*/
#ifndef STDIO_H
#define STDIO_H
#include <stddef.h>
#include <types.h>
#define _COOKIE(s) gemdos(9,"<");gemdos(9,s);gemdos(9,">\r\n")
/*
* CONSTANTS:
*/
#define _NFILE (20) /* maximum number of open streams */
#define OPEN_MAX _NFILE /* ANSI equivalent (replaces _NFILE) */
#define FILENAME_MAX (128) /* maximum filename size */
#define BUFSIZ (1024) /* default buffer size */
#define EOF (-1) /* end-of-file indicator */
#define EOS '\0' /* end-of-string indicator */
#define EXIT_FAILURE (-1) /* failure return value for exit() */
#define EXIT_SUCCESS (0) /* success return value for exit() */
#define RAND_MAX (0x7FFF) /* maximum value from rand() */
#ifndef FALSE
#define FALSE (0) /* boolean false */
#define TRUE (!FALSE) /* boolean true */
#endif
#ifndef ERROR
#define ERROR (-1) /* general error condition */
#endif
/* lseek() origins */
#define SEEK_SET 0 /* from beginning of file */
#define SEEK_CUR 1 /* from current location */
#define SEEK_END 2 /* from end of file */
/* cfg_ch() control flags */
#define _CIOB 0x01 /* use bios rather than gemdos */
#define _CIOCH 0x02 /* return only 8-bit values */
#define _CIOVT 0x04 /* process vt52 escape codes */
/* FILE structure flags */
#define _IOREAD 0x0001 /* file may be read from */
#define _IOWRT 0x0002 /* file may be written to */
#define _IOBIN 0x0004 /* file is in "binary" mode */
#define _IODEV 0x0008 /* file is a character device */
#define _IORW 0x0080 /* last i/o was 0:read/1:write */
#define _IOFBF 0x0100 /* i/o is fully buffered */
#define _IOLBF 0x0100 /* i/o is line buffered */
#define _IONBF 0x0400 /* i/o is not buffered */
#define _IOMYBUF 0x0800 /* standard buffer */
#define _IOEOF 0x1000 /* EOF has been reached */
#define _IOERR 0x4000 /* an error has occured */
typedef struct /* FILE structure */
{
int _cnt; /* # of bytes in buffer */
unsigned char *_ptr; /* current buffer pointer */
unsigned char *_base; /* base of file buffer */
unsigned int _flag; /* file status flags */
int _file; /* file handle */
int _bsiz; /* buffer size */
unsigned char _ch; /* tiny buffer, for "unbuffered" i/o */
}
FILE;
#define L_tmpnam 128
#define TMP_MAX 1000
extern char *etext;
extern char *edata;
extern char *end;
extern void _exit();
extern long gemdos();
extern long bios();
extern long xbios();
extern int bdos();
extern FILE _iob[];
extern FILE *fopen(), *fdopen(), *freopen(), *fopenp();
extern long ftell(), fsize();
extern void rewind(), setbuf(), setvbuf();
extern char *fgets(), *gets(), *tmpnam(), *tempnam();
extern char *fullpath(), *findfile(), *pfindfile(), *wildcard();
/* standard streams */
#define stdin (&_iob[0])
#define stdout (&_iob[1])
#define stderr (&_iob[2])
#define stdprn (&_iob[3])
#define stdaux (&_iob[4])
/* stream macros */
#define clearerr(fp) ((void) ((fp)->_flag &= ~(_IOERR|_IOEOF)))
#define feof(fp) ((fp)->_flag & _IOEOF)
#define ferror(fp) ((fp)->_flag & _IOERR)
#define fileno(fp) ((fp)->_file)
/* compatibility macros */
#define srand(seed) /* no random seeding required */
#define sync() /* sync() not possible, no operation */
/* aliases */
#define getc fgetc
#define ungetc fungetc
#define putc fputc
#define getchar() fgetc(stdin)
#define ungetchar(c) fungetc((c),stdin)
#define putchar(c) fputc((c),stdout)
#define fexists exists
#define exists(f) access(f,0x00)
#define unlink remove
#define forkv(prog,args) forkve(prog,args,NULL)
#define forkvp(prog,args) forkvpe(prog,args,NULL)
#endif STDIO_H